enum KAIGUAN {
    //% block="开"
    LOW,
    //% block="关"
    HIGH
}

enum GUANKAI {
    //% block="开"
    HIGH,
    //% block="关"
    LOW
}

enum DAYIN {
    //% block="是"
    1,
    //% block="否"
    0
}

enum DAXIAO {
    //% block="大"
    1,
    //% block="小"
    2
}

enum CGQ {
    //% block="温度"
	0x01,
    //% block="湿度"
	0x02,
	//% block="亮度"
	0x03,
	//% block="火焰"
	0x04,
	//% block="测量1"
	0x05,
	//% block="测量2"
	0x06,
	//% block="测量3"
	0x07,
	//% block="测量4"
	0x08
}

enum GNENG {
	//% block="初始化"
	0x21,
	//% block="起飞"
	0x22,
	//% block="降落"
	0x23,	
	//% block="上升"
	0x24,
	//% block="下降"
	0x25,
	//% block="逆时针旋转"
	0x26,
	//% block="顺时针旋转"
	0x27,
	//% block="向前飞行"
	0x28,
	//% block="向后飞行"
	0x29,
	//% block="向左飞行"
	0x2a,
	//% block="向右飞行"
	0x2b	
	
}

enum bizhang {

	//% block="向前飞"
	0x31,
	//% block="向后飞"
	0x32,
	//% block="向左飞"
	0x33,
	//% block="向右飞"
	0x34
}

enum PTYK {
    //% block="0"
	0xFF9867,
    //% block="1"
	0xFFA25D,
	//% block="2"
	0xFF629D,
	//% block="3"
	0xFFE21D,
	//% block="4"
	0xFF22DD,
	//% block="5"
	0xFF02FD,
	//% block="6"
	0xFFC23D,
	//% block="7"
	0xFFE01F,
	//% block="8"
	0xFFA857,
	//% block="9"
	0xFF906F,
	//% block="OK"
	0xFF38C7,
	//% block="*"
	0xFF6897,
	//% block="#"
	0xFFB04F,
	//% block="↑"
	0xFF18E7,
	//% block="↓"
	0xFF4AB5,
	//% block="←"
	0xFF10EF,
	//% block="→"
	0xFF5AA5
	
}

enum DDYK {
    //% block="开"
	0xFFE01F,
    //% block="关"
	0xFF609F,
	//% block="红色"
	0xFF906F,
	//% block="绿色"
	0xFF10EF,
	//% block="蓝色"
	0xFF50AF,
	//% block="白色"
	0xFFD02F,
	//% block="黄色"
	0xFF8877,
	//% block="紫色"
	0xFF48B7,
	//% block="棕色"
	0xFFA857
	
}
enum UART_YR {
    //% block="串口0"
	Serial,
    //% block="串口1"
	Serial1,
	//% block="串口2"
	Serial2,
	//% block="软串口1"
	softwareSerial1,
	//% block="软串口2"
	softwareSerial2,
	//% block="软串口3"
	softwareSerial3,
	//% block="软串口4"
	softwareSerial4
	
}

enum delay_ch {
    //% block="毫秒"
    delay,
    //% block="微秒"
	delayMicroseconds
	
}

enum KEYD {
    //% block="K1"
	0X31,
    //% block="K2"
	0X32,
	//% block="K3"
	0X33,
	//% block="K4"
	0X34,
	//% block="K5"
	0X35,
	//% block="K6"
	0X36	
}

enum YINDIAO {
    //% block="低 1"
	262,
    //% block="低 2"
	294,
	//% block="低 3"
	330,
	//% block="低 4"
	349,
	//% block="低 5"
	392,
	//% block="低 6"
	440,
	//% block="低 7"
	494,
	
    //% block="中 1"
	523,
    //% block="中 2"
	587,
	//% block="中 3"
	659,
	//% block="中 4"
	698,
	//% block="中 5"
	784,
	//% block="中 6"
	880,
	//% block="中 7"
	988,
	
    //% block="高 1"
	1046,
    //% block="高 2"
	1175,
	//% block="高 3"
	1318,
	//% block="高 4"
	1397,
	//% block="高 5"
	1568,
	//% block="高 6"
	1760,
	//% block="高 7"
	1976	
}

enum DANGWEI {
    //% block="低档位"
	3,
    //% block="中档位"
	1,
	//% block="高档位"
	0
}

enum jiepai {
    //% block="1/2"
	4,
    //% block="1/4"
	2
	//% block="1/8"
	1,
	//% block="1"
	8,
    //% block="2"
	16,
	//% block="0"
	0	
}

enum JSAN {
    //% block="K1"
	99,
    //% block="K2"
	76
	//% block="K3"
	57,
	//% block="K4"
	42,
    //% block="K5"
	27,
	//% block="K6"
	13	
}


//% color="#2284FF" iconWidth=50 iconHeight=40

namespace UART {

    //% block="调用[UART_T]无人机[GNENG]数值[SHUZHI]" blockType="command"
	//% UART_T.shadow="dropdown" UART_T.options="UART_YR" UART_T.defl="Serial"
    //% GNENG.shadow="dropdown" GNENG.options="GNENG" GNENG.defl="0x28"
    //% SHUZHI.shadow="range"   SHUZHI.params.min=0    SHUZHI.params.max=800    SHUZHI.defl=0	
    export function KZ_GN(parameter: any, block: any) {
        let GNENG = parameter.GNENG.code;
        let SHUZHI = parameter.SHUZHI.code;
		let UART_T = parameter.UART_T.code;
		
        Generator.addCode(`${UART_T}.write(0XAA);${UART_T}.write(0XBB);${UART_T}.write(0X30);${UART_T}.write(${GNENG});${UART_T}.write((int)${SHUZHI}/256);${UART_T}.write((int)${SHUZHI}%256);${UART_T}.write(0XBB);${UART_T}.write(0XAA);`);
    }
	
    //% block="调用[UART_T]避障[bizhang]" blockType="command"
	//% UART_T.shadow="dropdown" UART_T.options="UART_YR" UART_T.defl="Serial"
    //% bizhang.shadow="dropdown" bizhang.options="bizhang" bizhang.defl="0x01"
    //% SHUZHI.shadow="range"   SHUZHI.params.min=0    SHUZHI.params.max=1024    SHUZHI.defl=0	
    export function KZ_BZ(parameter: any, block: any) {
        let bizhang = parameter.bizhang.code;
		let UART_T = parameter.UART_T.code;
		
        Generator.addCode(`${UART_T}.write(0XAA);${UART_T}.write(0XBB);${UART_T}.write(0X30);${UART_T}.write(${bizhang});${UART_T}.write(0);${UART_T}.write(30);${UART_T}.write(0XBB);${UART_T}.write(0XAA);`);
    }
	

    //% block="调用[UART_T]发送[CGQ]数据[SHUJU]到飞机" blockType="command"
	
	//% UART_T.shadow="dropdown" UART_T.options="UART_YR" UART_T.defl="Serial"
    //% CGQ.shadow="dropdown" CGQ.options="CGQ" CGQ.defl="0x01"
    //% SHUJU.shadow="range"   SHUJU.params.min=0    SHUJU.params.max=1024    SHUJU.defl=0	
	
    export function FA_CGQ(parameter: any, block: any) {
        let CGQ = parameter.CGQ.code;
        let SHUJU = parameter.SHUJU.code;
		let UART_T = parameter.UART_T.code;
		
        Generator.addCode(`${UART_T}.write(0XAA);${UART_T}.write(0XBB);${UART_T}.write(0X30);${UART_T}.write(${CGQ});${UART_T}.write((int)${SHUJU}/256);${UART_T}.write((int)${SHUJU}%256);${UART_T}.write(0XBB);${UART_T}.write(0XAA);`);
    }

/***************************************************************************************************************************************************/
/***************************************************************************************************************************************************/
/***************************************************************************************************************************************************/
	//% block="飞机遥控[DANGWEI]数据[KEYD]" blockType="reporter"
    //% DANGWEI.shadow="dropdown" DANGWEI.options="DANGWEI" DANGWEI.defl="低档位"
	//% KEYD.shadow="dropdown" KEYD.options="KEYD" KEYD.defl="K1"
    export function KZ_flyYK(parameter: any, block: any) {
        let DANGWEI = parameter.DANGWEI.code;	
        let KEYD = parameter.KEYD.code;			
        Generator.addCode(`${DANGWEI}*16+${KEYD}`);
    }


    //% block="   " blockType="boolean"	
    export function KONG_1(parameter: any, block: any) {
    }	
	
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/


    //% block="Arduinio[YINJIAO]红外数据   存入[CR_DATA]   打印[YN]" blockType="command"
    //% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite" 
	//% YN.shadow="dropdown" YN.options="DAYIN"  YN.defl="1"
	//% CR_DATA.shadow="number" 
    export function HY_JS(parameter: any, block: any) {
        let YINJIAO = parameter.YINJIAO.code;   
        let CR_DATA = parameter.CR_DATA.code;    
        let YN = parameter.YN.code;  	


	    Generator.addInclude("FLY_IR", "#include <IRremote.h>");	
        Generator.addObject(`results_${YINJIAO}`,`IRrecv`,`irrecv_${YINJIAO}(${YINJIAO});`);
        Generator.addObject(`irrecv_${YINJIAO}`,`decode_results`,`results_${YINJIAO};`);		
        Generator.addSetup(`irrecv_${YINJIAO}.begin`,`irrecv_${YINJIAO}.enableIRIn();`);
        Generator.addCode(`if(irrecv_${YINJIAO}.decode(&results_${YINJIAO})) `);	
        Generator.addCode(`{if(${YN}==1)Serial.println(results_${YINJIAO}.value, HEX);${CR_DATA}=results_${YINJIAO}.value;irrecv_${YINJIAO}.resume();};`);	  		

    }	

    //% block="红外接收初始化[YINJIAO]" blockType="command"
    //% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite" 
    export function HY_CSH(parameter: any, block: any) {
        let YINJIAO = parameter.YINJIAO.code;   
		
	    Generator.addInclude("FLY_TX", "#include <IRremote.h>");		
		Generator.addCode(`irrecv_${YINJIAO}.enableIRIn();`);
    }	
	


/***************************************************************************************************************************************************/
/***************************************************************************************************************************************************/
/***************************************************************************************************************************************************/

    //% block="配套红外遥控数据[PTYK]" blockType="reporter"
    //% PTYK.shadow="dropdown" PTYK.options="PTYK" PTYK.defl="0x01"
    export function KZ_PT(parameter: any, block: any) {
        let PTYK = parameter.PTYK.code;		
        Generator.addCode(`${PTYK}`);
    }

	
	//% block="灯带红外遥控数据[DDYK]" blockType="reporter"
    //% DDYK.shadow="dropdown" DDYK.options="DDYK" DDYK.defl="0x01"
    export function KZ_DD(parameter: any, block: any) {
        let DDYK = parameter.DDYK.code;		
        Generator.addCode(`${DDYK}`);
    }	


	
    //% block="   " blockType="boolean"	
    export function KONG_2(parameter: any, block: any) {
    }		
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
    //% block="延时[shu][delay_ch]" blockType="command"
    //% delay_ch.shadow="dropdown" delay_ch.options="delay_ch" delay_ch.defl="LOW"
	//% shu.shadow="range"   shu.params.min=0    shu.params.max=60000    shu.defl=1000	
    export function yanshi(parameter: any, block: any) {
        let delay_ch = parameter.delay_ch.code;
        let shu = parameter.shu.code;
        Generator.addCode(`${delay_ch}(${shu});`);
    }		

    //% block="控制[YINJIAO]激光[GUANKAI]" blockType="command"
    //% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite"
    //% GUANKAI.shadow="dropdown" GUANKAI.options="GUANKAI" GUANKAI.defl="LOW"
    export function GUANKAI(parameter: any, block: any) {
        let YINJIAO = parameter.YINJIAO.code;
        let GUANKAI = parameter.GUANKAI.code;
        Generator.addCode(`digitalWrite(${YINJIAO},${GUANKAI});`);
    }
	
    //% block="控制[YINJIAO]LED灯[KAIGUAN]" blockType="command"
    //% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite" 
    //% KAIGUAN.shadow="dropdown" KAIGUAN.options="KAIGUAN" KAIGUAN.defl="HIGH"
    export function kaiguan(parameter: any, block: any) {
        let YINJIAO = parameter.YINJIAO.code;
        let KAIGUAN = parameter.KAIGUAN.code;
        Generator.addCode(`digitalWrite(${YINJIAO},${KAIGUAN});`);
    }

    //% block="设置引脚[YINJIAO]兔行蜂鸣器音调[YINDIAO] 节拍为[jiepai] " blockType="command"
    //% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite"
    //% YINDIAO.shadow="dropdown" YINDIAO.options="YINDIAO"  YINDIAO.defl="低 1"	
    //% jiepai.shadow="dropdown" jiepai.options="jiepai"
	
    export function LABA(parameter: any, block: any) {
        let YINJIAO = parameter.YINJIAO.code;
		let YINDIAO = parameter.YINDIAO.code;
        let jiepai = parameter.jiepai.code;
		

		Generator.addCode(`for(int time_l=0;time_l<(${jiepai}*${YINDIAO})/16;time_l++){`);
        Generator.addCode(`digitalWrite(${YINJIAO},LOW);`);
		Generator.addCode(`delayMicroseconds(100);`);
		Generator.addCode(`digitalWrite(${YINJIAO},HIGH);`);
		Generator.addCode(`delayMicroseconds((1000000.0/${YINDIAO})-100);`);
		Generator.addCode(`}`);

    }
	

	
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
	
    //% extenralFunc
    export function getBuiltinFunc_() {
        return [
            {matrix: "0000100000011000000010000000100000001000000010000000100000111110"}, 
            {matrix: "0001110000100010000000100000001000000100000010000001000000111110"},
			{matrix: "0001110000100010000000100000110000000010000000100010001000011100"},			
			{matrix: "0000010000001100000101000010010000100100001111100000010000000100"},
			{matrix: "0011111000100000001000000011110000000010000000100010001000011100"},
			{matrix: "0001110000100010001000000011110000100010001000100010001000011100"},
			{matrix: "0011111000000010000001000000100000001000000010000000100000001000"},
			{matrix: "0001110000100010001000100001110000100010001000100010001000011100"},
			{matrix: "0001110000100010001000100010001000011110000000100010001000011100"},
			{matrix: "0010011001101001001010010010100100101001001010010010100101110110"},
			{matrix: "0000000001000010001001000001100000011000001001000100001000000000"},
			{matrix: "0000000000011000000110000111111001111110000110000001100000000000"},
			{matrix: "0000000000000000000000000111111001111110000000000000000000000000"},
			{matrix: "0000000000001000000001000111111001111110001000000001000000000000"},
			{matrix: "0001100000111100011111101111111100111100001111000011110000111100"},
			{matrix: "0011110000111100001111000011110011111111011111100011110000011000"},
			{matrix: "0001000000110000011111111111111111111111011111110011000000010000"},
			{matrix: "0000100000001100111111101111111111111111111111100000110000001000"},
			{matrix: "0110011011111111111111111111111111111111011111100011110000011000"},
			{matrix: "0000000001100110011001100000000000000000001001000001100000000000"},
			{matrix: "0000000001100110011001100000000000000000000110000010010000000000"},
			{matrix: "0000000001100110011001100000000000000000000000000011110000000000"},
			{matrix: "0000000001000010101001010000000000000000001001000001100000000000"},
			{matrix: "0000000010100101010000100000000000000000000110000010010000000000"},
			{matrix: "0000000011100111010000100000000000000000000000100001110000000000"},
			{matrix: "1111111110100101110000111000000110000001101111011010010111111111"}
        ]
    }		
	   //% externalFunc
       export function getColorsFunc_() {
       return [
	   "#fff", "#f00", "#0f0", "#00f", "#ff0", "#0ff", "#f0f", "#000"
	   ]
   }   
   
    //% block="引脚[YINJIAO] 显示图形[MT]  颜色[COLOR2]  硬件[DAXIAO]" blockType="command"
	//% YINJIAO.shadow="dropdown" YINJIAO.options="PIN_DigitalWrite" 
	//% DAXIAO.shadow="dropdown" DAXIAO.options="DAXIAO" DAXIAO.defl="2"
    //% MT.shadow="matrix" MT.params.row=8 MT.params.column=8
    //% MT.params.builtinFunc="getBuiltinFunc_"  MT.defl="0000100000011000000010000000100000001000000010000000100000111110"
	//% COLOR2.shadow="colorSlider" COLOR2.defl="#f0f"	 
    export function setMatrix(parameter: any, block: any) {		
	
	/*let MT = parameter.MT.code;	*/
	let YINJIAO = parameter.YINJIAO.code;	
    let DAXIAO = parameter.DAXIAO.code;	
	let COLOR2 = parameter.COLOR2.code;	
	let matrix = parameter.MT.code;
	
	Generator.addInclude("FLY_WS", "#include <DFRobot_NeoPixel.h>");
    Generator.addObject(`neoPixel_${YINJIAO}`,`DFRobot_NeoPixel`,`neoPixel_${YINJIAO};`);
    Generator.addSetup(`neoPixel_${YINJIAO}.begin`,`neoPixel_${YINJIAO}.begin(${YINJIAO},64,20);`);	
	
    Generator.addObject(`WS2812`, `char`, `WS2812[8]`); 	
	
   let WS2812:any[] = [0,0,0,0,0,0,0,0];
	
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i)*0x80;}
	for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+8)*0x40;}
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+16)*0x20;}
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+24)*0x10;}

    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+32)*0x08;}
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+40)*0x04;}
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+48)*0x02;}
    for(let i=0;i<8;i++){WS2812[7-i]|=matrix.charAt(i+56)*0x01;}  
  
   	Generator.addCode(`WS2812[0]=${WS2812[0]};WS2812[1]=${WS2812[1]};WS2812[2]=${WS2812[2]};WS2812[3]=${WS2812[3]};`);
	Generator.addCode(`WS2812[4]=${WS2812[4]};WS2812[5]=${WS2812[5]};WS2812[6]=${WS2812[6]};WS2812[7]=${WS2812[7]};`);
	


	
	/* Generator.addCode(`neoPixel_${YINJIAO}.xianshi("${MT}",WS2812);`);*/

    Generator.addCode(`for (char i = 0; i < 8; i++)`);
	Generator.addCode(`for (char j = 0; j < 8; j++)`);	
	Generator.addCode(`if(WS2812[j]&(1<<i)){if(${DAXIAO}==2){neoPixel_${YINJIAO}.setPixelColor(63-(i*8+j), neoPixel_${YINJIAO}.Color((${COLOR2}/256)%256,(${COLOR2}/65536)%256,${COLOR2}%256));}else if(${DAXIAO}==1){neoPixel_${YINJIAO}.setPixelColor(63-(i*8+j), ${COLOR2});}}`);
	Generator.addCode(`else{neoPixel_${YINJIAO}.setPixelColor(63-(i*8+j), neoPixel_${YINJIAO}.Color(0,0,0));}`);
	Generator.addCode(`neoPixel_${YINJIAO}.show();`);	
    }		
	



    //% block="   " blockType="boolean"	
    export function KONG_3(parameter: any, block: any) {
    }	

/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/
/************************************************************************************************************************************************************************************************************************************************************************/

    //% block="接收机[UART_T] —左摇杆Y[THR]X[YAW]—右摇杆Y[PIT]X[ROL]—左旋钮[AU1]右旋钮[AU3]—按钮[AU2]"  blockType="command"
	//% UART_T.shadow="dropdown" UART_T.options="UART_YR" UART_T.defl="Serial"
    //% THR.shadow="range"   THR.params.min=0    THR.params.max=200    THR.defl=0
    //% YAW.shadow="range"   YAW.params.min=0    YAW.params.max=200    YAW.defl=0
    //% ROL.shadow="range"   ROL.params.min=0    ROL.params.max=200    ROL.defl=0
    //% PIT.shadow="range"   PIT.params.min=0    PIT.params.max=200    PIT.defl=0

    //% AU1.shadow="range"   AU1.params.min=0    AU1.params.max=200    AU1.defl=0
    //% AU3.shadow="range"   AU3.params.min=0    AU3.params.max=200    AU3.defl=0
    //% AU2.shadow="range"   AU2.params.min=0    AU2.params.max=200    AU2.defl=0	
	
	
    export function TX_JSJ(parameter: any, block: any) {
		let UART_T = parameter.UART_T.code;
		let THR = parameter.THR.code;
		let YAW = parameter.YAW.code;
		let ROL = parameter.ROL.code;
		let PIT = parameter.PIT.code;
		
		let AU1 = parameter.AU1.code;
		let AU3 = parameter.AU3.code;
		let AU2 = parameter.AU2.code;
		
		Generator.addObject(`comdata`, `String`, `comdata=""`); 
		
		Generator.addCode(`while (${UART_T}.available() > 0){comdata += char(${UART_T}.read());delay(2);}  `);
		Generator.addCode(` for(int i=0;i<comdata.length();i++) {     if(comdata[i]==0x70){  `);
		Generator.addCode(` ${THR}=comdata[i+3]; ${YAW}=comdata[i+4];${ROL}=comdata[i+5];${PIT}=comdata[i+6];${AU1}=comdata[i+7]; ${AU2}=comdata[i+8];${AU3}=comdata[i+9];comdata = "";break;}}`);

	   
     }


	//% block="接收机按钮数据[AU2]等于[JSAN]" blockType="boolean"
	//% AU2.shadow="range"   AU2.params.min=0    AU2.params.max=200    AU2.defl=0	
    //% JSAN.shadow="dropdown" JSAN.options="JSAN" 
	
	
    export function JS_A_N(parameter: any, block: any) {
        let AU2 = parameter.AU2.code;
        let JSAN = parameter.JSAN.code;	

         Generator.addCode(`(${AU2}>(${JSAN}-4))&&(${AU2}<(${JSAN}+4))`);		

    }	








}